import { localStorage } from '@/js_sdk/mp-storage/index.js';

// 检查是否为夜间模式
export function checkDarkMode() {
    let showStyle = localStorage.getItem('showStyle') || 0;
    let isDark = false;
    
    if (showStyle == 1) {
        isDark = true;
        setDarkNavigationBar();
    } else if (showStyle == 0) {
        isDark = false;
    } else {
        // #ifdef APP-PLUS
        if (uni.getSystemInfoSync().platform === 'android') {
            // 获取当前时间
            let timeNow = new Date();
            // 获取当前小时
            let hours = timeNow.getHours();
            if (hours > 18 || hours < 6) {
                isDark = true;
                setDarkNavigationBar();
            }
        } else {
            // iOS检测系统深色模式
            var style = plus.navigator.getUIStyle();
            if ('dark' == style) {
                isDark = true;
                setDarkNavigationBar();
            }
        }
        // #endif
        
        // #ifdef H5 || MP
        // 获取当前时间
        let timeNow = new Date();
        // 获取当前小时
        let hours = timeNow.getHours();
        if (hours > 18 || hours < 6) {
            isDark = true;
            setDarkNavigationBar();
        }
        // #endif
    }
    
    return isDark;
}

// 设置深色导航栏和TabBar
export function setDarkNavigationBar() {
    // 设置导航栏深色模式
    uni.setNavigationBarColor({
        frontColor: '#ffffff',
        backgroundColor: '#111111',
        animation: {
            duration: 0,
            timingFunc: 'easeIn'
        }
    });
    
    // 设置TabBar深色模式
    uni.setTabBarStyle({
        color: '#7e858f',
        selectedColor: '#e91d42',
        backgroundColor: '#1c1c1c',
        borderStyle: 'black'
    });
}

// #ifdef H5
// 为H5模式提供的一个辅助函数，用于实时更新所有已打开页面的深色模式状态
export function updateAllPagesTheme(isDark) {
    // 获取当前页面栈中的所有页面
    const pages = getCurrentPages();
    
    // 更新全局状态
    getApp().isDark = isDark;
    
    // 遍历所有页面，更新其isDark状态
    pages.forEach(page => {
        if (page && page.$vm) {
            page.$vm.isDark = isDark;
        }
    });
    
    // 设置导航栏样式
    if (isDark) {
        setDarkNavigationBar();
    } else {
        // 恢复默认导航栏
        uni.setNavigationBarColor({
            frontColor: '#000000',
            backgroundColor: '#ffffff',
            animation: {
                duration: 0,
                timingFunc: 'easeIn'
            }
        });
        
        // 恢复默认TabBar
        uni.setTabBarStyle({
            color: '#7e858f',
            selectedColor: '#e91d42',
            backgroundColor: '#ffffff',
            borderStyle: 'black'
        });
    }
}
// #endif 